package com.hbnu.iostream;

import java.io.File;

/**
 * 需求：
 *     便利指定文件夹下所有的文件，包括子文件夹下的文件，并打印文件的路径
 *
 * @author kittychen
 * @date 2025-09-29 11:08
 */
public class FileOperator04 {
    public static void main(String[] args) {
        String path = "F:" + File.separator + "2309";

        File file = new File(path);

        printFilePath(file);   // 打印文件路径
    }

    private static void printFilePath(File file) {
        if (file.isDirectory()) { // 判断是否是文件夹
            File[] files = file.listFiles();  // 列举出文件夹下所有的内容（子文件夹、文件）
            if (files != null) {   // 判断文件夹下是否有内容
                for (File file1 : files) {   // 高级for循环（增强for循环）： iter + 回车
                    printFilePath(file1);  // 递归调用
                }
            }
        } else {  // 表示file是文件，而不是文件夹
            // System.out.println(file.getAbsolutePath());

            if (file.getAbsolutePath().endsWith(".pdf")) {   // 判断文件是否是pdf文件
                System.out.println(file.getAbsolutePath());
            }
        }
    }
}
